package pe.edu.unmsm.fisi.sysllabus.negocio.servicio.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Service;

import pe.edu.unmsm.fisi.sysllabus.integracion.dao.PlanEstPeriodoAcademicoDAO;
import pe.edu.unmsm.fisi.sysllabus.negocio.modelo.dto.PlanEstPeriodoAcademicoDTO;
import pe.edu.unmsm.fisi.sysllabus.negocio.servicio.CursoService;
import pe.edu.unmsm.fisi.sysllabus.negocio.servicio.PlanEstPeriodoAcademicoService;

@Service
public class PlanEstPeriodoAcademicoServiceImpl implements PlanEstPeriodoAcademicoService {

	@Resource
	PlanEstPeriodoAcademicoDAO planEstPeriodoAcademicoDAO;
	
	@Resource
	CursoService cursoService;
	@Override
	public List<PlanEstPeriodoAcademicoDTO> listarPeriodosAcademicosxPlan(Integer idPlanEstudio)
			throws DataAccessException {
		return planEstPeriodoAcademicoDAO.listPlanEstPeriodoAcad(idPlanEstudio);
	}
	@Override
	public PlanEstPeriodoAcademicoDTO obtenerPeriodoAcadxPlan(
			Integer idPlanEstPerAcad) throws DataAccessException {
		PlanEstPeriodoAcademicoDTO periodo=planEstPeriodoAcademicoDAO.getPlanEstPeriodoAcad(idPlanEstPerAcad);
		periodo.setCursos(cursoService.listarCursosxPeriodo(idPlanEstPerAcad));
		return periodo;
	}
	@Override
	public void guardarPeriodoAcademicoxPlan(
			PlanEstPeriodoAcademicoDTO periodoAcadxPlanEditar)
			throws DataAccessException {
		if (periodoAcadxPlanEditar.getIdPlanEstPerAcad()!=null) 
			planEstPeriodoAcademicoDAO.updatePlanEstPeriodoAcad(periodoAcadxPlanEditar);	
		else
			planEstPeriodoAcademicoDAO.insertPlanEstPeriodoAcad(periodoAcadxPlanEditar);
		
	}

}
